package ${classAttribute.packagePath}.dao;

import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import ${classAttribute.packagePath}.entity.po.${classAttribute.className};
import org.apache.ibatis.annotations.Mapper;

/**
*
* @ClassName: ${classAttribute.className}
* @Description: ${classAttribute.comment}
* @author ${classAttribute.author}
* @date ${classAttribute.date?string('yyyy-MM-dd hh:mm')}
*
*/
@Mapper
public interface ${classAttribute.className}Mapper {


    public List<${classAttribute.className}> findAll(${classAttribute.className} params) throws Exception;

    public ${classAttribute.className} get${classAttribute.className}(Long id) throws Exception;

    @Transactional(propagation=Propagation.REQUIRED)
    public void save${classAttribute.className}(${classAttribute.className} params) throws Exception;

    @Transactional(propagation=Propagation.REQUIRED)
    public void saveBatch${classAttribute.className}(List<${classAttribute.className}> params) throws Exception;

    @Transactional(propagation=Propagation.REQUIRED)
    public void update${classAttribute.className}(${classAttribute.className} params) throws Exception;

    @Transactional(propagation=Propagation.REQUIRED)
    public void delete${classAttribute.className}(Long id)  throws Exception;

    @Transactional(propagation=Propagation.REQUIRED)
    public void deleteBatch${classAttribute.className}(List<Long> ids)  throws Exception;
}